package com.weilx959.spt.app.listener;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.input.Tailer;
import org.apache.commons.io.input.TailerListener;

import java.util.function.Consumer;

/**
 * 日志监听器
 *
 * @author weilx
 * @since 2024年6月9日
 */
@Slf4j
@RequiredArgsConstructor
public class LogTailerListener implements TailerListener {
    private final Consumer<Exception> exceptionHandler;

    private final Consumer<String> logHandler;

    @Override
    public void fileNotFound() {
        // 文件不存在
        log.error("日志文件不存在");
    }

    @Override
    public void fileRotated() {
        // 文件被旋转
    }

    @Override
    public void handle(Exception e) {
        // 处理异常
        exceptionHandler.accept(e);
    }

    @Override
    public void handle(String s) {
        // 处理日志
        logHandler.accept(s);
    }

    @Override
    public void init(Tailer tailer) {
        // 初始化
    }
}
